package com.gpframework.module.order.domain.req;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.util.Date;
import java.util.List;

/**
 * @ClassName GpOrderFlowAdd
 * @Author gpframework
 * @Date 2023-06-16
 * @Version 1.0.0
 * @Description 员工订单流转详情Add对象
 */
@Data
@ToString
@EqualsAndHashCode
@NoArgsConstructor
@Accessors(chain = true)
public class GpOrderFlowAdd {
    private static final long serialVersionUID = 1L;

    /** 品牌id */
    @ApiModelProperty("品牌id")
    private String brandId;

    /** 品牌名称 */
    @ApiModelProperty("品牌名称")
    private String brandName;

    /** 部门ids */
    @ApiModelProperty("部门ids")
    private String deptIds;

    /** 订单ID */
    @ApiModelProperty("订单ID")
    private Long orderId;

    /** 员工ID */
    @ApiModelProperty("员工ID")
    private Long userId;

    /** 流转节点id */
    @ApiModelProperty("流转节点id")
    private Long configId;

    /** 流转节点名称 */
    @ApiModelProperty("流转节点名称")
    private String configName;

    /** 去向类型 */
    @ApiModelProperty("去向类型")
    private String destinationType;

    /** 去向车次（物流使用） */
    @ApiModelProperty("去向车次（物流使用）")
    private String destinationNo;

    /** 流入时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("流入时间")
    private Date inletTime;

    /** 处理时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("处理时间")
    private Date processingTime;

    /** 处理时长 */
    @ApiModelProperty("处理时长")
    private Long processingDuration;

    /** 超期时长 */
    @ApiModelProperty("超期时长")
    private Long overdueDuration;

    /** 处理意见 */
    @ApiModelProperty("处理意见")
    private String processingOpinion;

    /** 流程状态：0细码正常/1细码异常；0未拍物流单/1已拍物流单；0未提/1已提 */
    @ApiModelProperty("流程状态：0细码正常/1细码异常；0未拍物流单/1已拍物流单；0未提/1已提")
    private String status;

    /** 附件 */
    @ApiModelProperty("附件")
    private String annex;

    /** 附件 */
    @ApiModelProperty("附件")
    private List<String> annexList;

    /** 附件上传时间 */
    @ApiModelProperty("附件上传时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date uploadTime;

    /** 备注 */
    @ApiModelProperty("备注")
    private String remarks;

}
